package com.ruoyi.home.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 业主对象 t_sf_contract
 * 
 * @author weishu
 * @date 2021-07-21
 */
public class TSfContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 合同编号（系统生成） */
    @Excel(name = "合同编号", readConverterExp = "系=统生成")
    private String sfContractNo;

    /** 外部合同编号（线下合同编号） */
    @Excel(name = "外部合同编号", readConverterExp = "线=下合同编号")
    private String outContractNo;

    /** 上一合同ID，续约合同的时候 */
    @Excel(name = "上一合同ID，续约合同的时候")
    private Long lastContractId;

    /** 上一合同编号 */
    @Excel(name = "上一合同编号")
    private String lastContractNo;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long businessId;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long deptId;

    /** 部门编号 */
    @Excel(name = "部门编号")
    private String deptNo;

    /** 小区名(使用楼盘名称) */
    @Excel(name = "小区名(使用楼盘名称)")
    private String premiseName;

    /** 房产编号 */
    @Excel(name = "房产编号")
    private String houseId;

    /** 房产信息(考虑在房产表中增加house_name，然后带出) */
    @Excel(name = "房产信息(考虑在房产表中增加house_name，然后带出)")
    private String houseName;

    /** 所有权类型(1：国有房产，2：直管房产，3：自管房产，4：军队房产，5：集体所有房产，6：私有(自由)房产，7：港、澳、台投资房产，8：涉外房产，9：其它房产) */
    @Excel(name = "所有权类型(1：国有房产，2：直管房产，3：自管房产，4：军队房产，5：集体所有房产，6：私有(自由)房产，7：港、澳、台投资房产，8：涉外房产，9：其它房产)")
    private Long houseType;

    /** 房产证书编号 */
    @Excel(name = "房产证书编号")
    private String houseZsNo;

    /** 产权地址 */
    @Excel(name = "产权地址")
    private String cqAddress;

    /** 业主ID */
    @Excel(name = "业主ID")
    private Long ownerId;

    /** 业主姓名 */
    @Excel(name = "业主姓名")
    private String ownerName;

    /** 是否为签约人（业主是否为签约人） 0：是，1：否 */
    @Excel(name = "是否为签约人", readConverterExp = "业=主是否为签约人")
    private Integer signWithOwner;

    /** 业主证件号码（身份证） */
    @Excel(name = "业主证件号码", readConverterExp = "身=份证")
    private String ownerIdCard;

    /** 业主手机号 */
    @Excel(name = "业主手机号")
    private String ownerMobile;

    /** 业主联系地址 */
    @Excel(name = "业主联系地址")
    private String ownerContactAddress;

    /** 签约人(甲方) */
    @Excel(name = "签约人(甲方)")
    private String signUserName;

    /** 签约人证件号（身份证） */
    @Excel(name = "签约人证件号", readConverterExp = "身=份证")
    private String signUserIdCard;

    /** 签约人手机号 */
    @Excel(name = "签约人手机号")
    private String signUserMobile;

    /** 紧急联系电话 */
    @Excel(name = "紧急联系电话")
    private String signUserEmergencyPhone;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String bankCard;

    /** 持卡人姓名 */
    @Excel(name = "持卡人姓名")
    private String bankUserName;

    /** 持卡人身份证 */
    @Excel(name = "持卡人身份证")
    private String bankUserIdCard;

    /** 银行ID（开户总行ID） */
    @Excel(name = "银行ID", readConverterExp = "开=户总行ID")
    private Long bankId;

    /** 银行名称（开户总行名称，对应bank表） */
    @Excel(name = "银行名称", readConverterExp = "开=户总行名称，对应bank表")
    private String bankName;

    /** 开户行(支行) */
    @Excel(name = "开户行(支行)")
    private String bankOpen;

    /** 租约期限开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租约期限开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseStartTime;

    /** 租约期限结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "租约期限结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaseEndTime;

    /** 收房月租金 */
    @Excel(name = "收房月租金")
    private BigDecimal monthRent;

    /** 房产押金 */
    @Excel(name = "房产押金")
    private BigDecimal depositMoney;

    /** 支付方式(押X付Y的X) */
    @Excel(name = "支付方式(押X付Y的X)")
    private Long depositType;

    /** 支付方式(押X付Y的Y） */
    @Excel(name = "支付方式(押X付Y的Y）")
    private Long paymentType;

    /** 合同签订时间，（暂定设置为提交日期） */
    @Excel(name = "合同签订时间，", readConverterExp = "暂=定设置为提交日期")
    private Date conSignTime;

    /** 合同录入时间，（暂定设置为提交日期） */
    @Excel(name = "合同录入时间，", readConverterExp = "暂=定设置为提交日期")
    private Date conInfoTime;

    /** 合同审核时间，（暂定设置为提交日期） */
    @Excel(name = "合同审核时间，", readConverterExp = "暂=定设置为提交日期")
    private Date conAudTime;

    /** 合同录入人（暂定设置为创建人） */
    @Excel(name = "合同录入人", readConverterExp = "暂=定设置为创建人")
    private Long operId;

    /** 收房人，（暂定设置为创建人） */
    @Excel(name = "收房人，", readConverterExp = "暂=定设置为创建人")
    private Long sfUserId;

    /** 收房人姓名 */
    @Excel(name = "收房人姓名")
    private String sfUserName;

    /** 合同状态（1，草稿。2，已提交。3，已解约。4，已结束。9:作废） */
    @Excel(name = "合同状态", readConverterExp = "1=，草稿。2，已提交。3，已解约。4，已结束。9:作废")
    private Long status;

    /** 续约状态（0，未续约。1，已续约） */
    @Excel(name = "续约状态", readConverterExp = "0=，未续约。1，已续约")
    private Integer xyStatus;

    /** 是否收房贷,0:否 1:是 */
    @Excel(name = "是否收房贷,0:否 1:是")
    private Integer sfLoanFlg;

    /** 冻结状态：0未冻结 1已冻结(申请金融服务的时候，才会有冻结状态) */
    @Excel(name = "冻结状态：0未冻结 1已冻结(申请金融服务的时候，才会有冻结状态)")
    private Integer freezeStatus;

    /** 银行账户类型（对公账户、对私账户）AccountTypeEnum */
    @Excel(name = "银行账户类型", readConverterExp = "对=公账户、对私账户")
    private Long accountType;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String bankCardNumber;

    /** 账户名称（对公为企业名称，对私为姓名） */
    @Excel(name = "账户名称", readConverterExp = "对=公为企业名称，对私为姓名")
    private String accountName;

    /** 联行行号（手输，对公必须） */
    @Excel(name = "联行行号", readConverterExp = "手=输，对公必须")
    private String bankBranchCodeLh;

    /** 开户行所在省ID */
    @Excel(name = "开户行所在省ID")
    private Long bankAccountProvince;



    /** 预留字段1 */
    @Excel(name = "备注")
    private String remark;


    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private Long reserve1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private Long reserve2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private String reserve3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private String reserve4;

    /** 预留字段5 */
    @Excel(name = "预留字段5")
    private String reserve5;

    /** 删除标识，0:未删除，1：删除 */
    @Excel(name = "删除标识，0:未删除，1：删除")
    private Integer delFlg;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long createUserid;

    /** 更新用户ID */
    @Excel(name = "更新用户ID")
    private Long updateUserid;

    /** 房产类型：1.合租；2.整租；3.公寓 */
    @Excel(name = "房产类型：1.合租；2.整租；3.公寓")
    private Long houseLeaseType;


    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }



    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSfContractNo(String sfContractNo) 
    {
        this.sfContractNo = sfContractNo;
    }

    public String getSfContractNo() 
    {
        return sfContractNo;
    }
    public void setOutContractNo(String outContractNo) 
    {
        this.outContractNo = outContractNo;
    }

    public String getOutContractNo() 
    {
        return outContractNo;
    }
    public void setLastContractId(Long lastContractId) 
    {
        this.lastContractId = lastContractId;
    }

    public Long getLastContractId() 
    {
        return lastContractId;
    }
    public void setLastContractNo(String lastContractNo) 
    {
        this.lastContractNo = lastContractNo;
    }

    public String getLastContractNo() 
    {
        return lastContractNo;
    }
    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptNo(String deptNo) 
    {
        this.deptNo = deptNo;
    }

    public String getDeptNo() 
    {
        return deptNo;
    }
    public void setPremiseName(String premiseName) 
    {
        this.premiseName = premiseName;
    }

    public String getPremiseName() 
    {
        return premiseName;
    }
    public void setHouseId(String houseId) 
    {
        this.houseId = houseId;
    }

    public String getHouseId() 
    {
        return houseId;
    }
    public void setHouseName(String houseName) 
    {
        this.houseName = houseName;
    }

    public String getHouseName() 
    {
        return houseName;
    }
    public void setHouseType(Long houseType) 
    {
        this.houseType = houseType;
    }

    public Long getHouseType() 
    {
        return houseType;
    }
    public void setHouseZsNo(String houseZsNo) 
    {
        this.houseZsNo = houseZsNo;
    }

    public String getHouseZsNo() 
    {
        return houseZsNo;
    }
    public void setCqAddress(String cqAddress) 
    {
        this.cqAddress = cqAddress;
    }

    public String getCqAddress() 
    {
        return cqAddress;
    }
    public void setOwnerId(Long ownerId) 
    {
        this.ownerId = ownerId;
    }

    public Long getOwnerId() 
    {
        return ownerId;
    }
    public void setOwnerName(String ownerName) 
    {
        this.ownerName = ownerName;
    }

    public String getOwnerName() 
    {
        return ownerName;
    }
    public void setSignWithOwner(Integer signWithOwner) 
    {
        this.signWithOwner = signWithOwner;
    }

    public Integer getSignWithOwner() 
    {
        return signWithOwner;
    }
    public void setOwnerIdCard(String ownerIdCard) 
    {
        this.ownerIdCard = ownerIdCard;
    }

    public String getOwnerIdCard() 
    {
        return ownerIdCard;
    }
    public void setOwnerMobile(String ownerMobile) 
    {
        this.ownerMobile = ownerMobile;
    }

    public String getOwnerMobile() 
    {
        return ownerMobile;
    }
    public void setOwnerContactAddress(String ownerContactAddress) 
    {
        this.ownerContactAddress = ownerContactAddress;
    }

    public String getOwnerContactAddress() 
    {
        return ownerContactAddress;
    }
    public void setSignUserName(String signUserName) 
    {
        this.signUserName = signUserName;
    }

    public String getSignUserName() 
    {
        return signUserName;
    }
    public void setSignUserIdCard(String signUserIdCard) 
    {
        this.signUserIdCard = signUserIdCard;
    }

    public String getSignUserIdCard() 
    {
        return signUserIdCard;
    }
    public void setSignUserMobile(String signUserMobile) 
    {
        this.signUserMobile = signUserMobile;
    }

    public String getSignUserMobile() 
    {
        return signUserMobile;
    }
    public void setSignUserEmergencyPhone(String signUserEmergencyPhone) 
    {
        this.signUserEmergencyPhone = signUserEmergencyPhone;
    }

    public String getSignUserEmergencyPhone() 
    {
        return signUserEmergencyPhone;
    }
    public void setBankCard(String bankCard) 
    {
        this.bankCard = bankCard;
    }

    public String getBankCard() 
    {
        return bankCard;
    }
    public void setBankUserName(String bankUserName) 
    {
        this.bankUserName = bankUserName;
    }

    public String getBankUserName() 
    {
        return bankUserName;
    }
    public void setBankUserIdCard(String bankUserIdCard) 
    {
        this.bankUserIdCard = bankUserIdCard;
    }

    public String getBankUserIdCard() 
    {
        return bankUserIdCard;
    }
    public void setBankId(Long bankId) 
    {
        this.bankId = bankId;
    }

    public Long getBankId() 
    {
        return bankId;
    }
    public void setBankName(String bankName) 
    {
        this.bankName = bankName;
    }

    public String getBankName() 
    {
        return bankName;
    }
    public void setBankOpen(String bankOpen) 
    {
        this.bankOpen = bankOpen;
    }

    public String getBankOpen() 
    {
        return bankOpen;
    }
    public void setLeaseStartTime(Date leaseStartTime) 
    {
        this.leaseStartTime = leaseStartTime;
    }

    public Date getLeaseStartTime() 
    {
        return leaseStartTime;
    }
    public void setLeaseEndTime(Date leaseEndTime) 
    {
        this.leaseEndTime = leaseEndTime;
    }

    public Date getLeaseEndTime() 
    {
        return leaseEndTime;
    }
    public void setMonthRent(BigDecimal monthRent) 
    {
        this.monthRent = monthRent;
    }

    public BigDecimal getMonthRent() 
    {
        return monthRent;
    }
    public void setDepositMoney(BigDecimal depositMoney) 
    {
        this.depositMoney = depositMoney;
    }

    public BigDecimal getDepositMoney() 
    {
        return depositMoney;
    }
    public void setDepositType(Long depositType) 
    {
        this.depositType = depositType;
    }

    public Long getDepositType() 
    {
        return depositType;
    }
    public void setPaymentType(Long paymentType) 
    {
        this.paymentType = paymentType;
    }

    public Long getPaymentType() 
    {
        return paymentType;
    }
    public void setConSignTime(Date conSignTime) 
    {
        this.conSignTime = conSignTime;
    }

    public Date getConSignTime() 
    {
        return conSignTime;
    }
    public void setConInfoTime(Date conInfoTime) 
    {
        this.conInfoTime = conInfoTime;
    }

    public Date getConInfoTime() 
    {
        return conInfoTime;
    }
    public void setConAudTime(Date conAudTime) 
    {
        this.conAudTime = conAudTime;
    }

    public Date getConAudTime() 
    {
        return conAudTime;
    }
    public void setOperId(Long operId) 
    {
        this.operId = operId;
    }

    public Long getOperId() 
    {
        return operId;
    }
    public void setSfUserId(Long sfUserId) 
    {
        this.sfUserId = sfUserId;
    }

    public Long getSfUserId() 
    {
        return sfUserId;
    }
    public void setSfUserName(String sfUserName) 
    {
        this.sfUserName = sfUserName;
    }

    public String getSfUserName() 
    {
        return sfUserName;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setXyStatus(Integer xyStatus) 
    {
        this.xyStatus = xyStatus;
    }

    public Integer getXyStatus() 
    {
        return xyStatus;
    }
    public void setSfLoanFlg(Integer sfLoanFlg) 
    {
        this.sfLoanFlg = sfLoanFlg;
    }

    public Integer getSfLoanFlg() 
    {
        return sfLoanFlg;
    }
    public void setFreezeStatus(Integer freezeStatus) 
    {
        this.freezeStatus = freezeStatus;
    }

    public Integer getFreezeStatus() 
    {
        return freezeStatus;
    }
    public void setAccountType(Long accountType) 
    {
        this.accountType = accountType;
    }

    public Long getAccountType() 
    {
        return accountType;
    }
    public void setBankCardNumber(String bankCardNumber) 
    {
        this.bankCardNumber = bankCardNumber;
    }

    public String getBankCardNumber() 
    {
        return bankCardNumber;
    }
    public void setAccountName(String accountName) 
    {
        this.accountName = accountName;
    }

    public String getAccountName() 
    {
        return accountName;
    }
    public void setBankBranchCodeLh(String bankBranchCodeLh) 
    {
        this.bankBranchCodeLh = bankBranchCodeLh;
    }

    public String getBankBranchCodeLh() 
    {
        return bankBranchCodeLh;
    }
    public void setBankAccountProvince(Long bankAccountProvince) 
    {
        this.bankAccountProvince = bankAccountProvince;
    }

    public Long getBankAccountProvince() 
    {
        return bankAccountProvince;
    }
    public void setReserve1(Long reserve1) 
    {
        this.reserve1 = reserve1;
    }

    public Long getReserve1() 
    {
        return reserve1;
    }
    public void setReserve2(Long reserve2) 
    {
        this.reserve2 = reserve2;
    }

    public Long getReserve2() 
    {
        return reserve2;
    }
    public void setReserve3(String reserve3) 
    {
        this.reserve3 = reserve3;
    }

    public String getReserve3() 
    {
        return reserve3;
    }
    public void setReserve4(String reserve4) 
    {
        this.reserve4 = reserve4;
    }

    public String getReserve4() 
    {
        return reserve4;
    }
    public void setReserve5(String reserve5) 
    {
        this.reserve5 = reserve5;
    }

    public String getReserve5() 
    {
        return reserve5;
    }
    public void setDelFlg(Integer delFlg) 
    {
        this.delFlg = delFlg;
    }

    public Integer getDelFlg() 
    {
        return delFlg;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }
    public void setHouseLeaseType(Long houseLeaseType) 
    {
        this.houseLeaseType = houseLeaseType;
    }

    public Long getHouseLeaseType() 
    {
        return houseLeaseType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sfContractNo", getSfContractNo())
            .append("outContractNo", getOutContractNo())
            .append("lastContractId", getLastContractId())
            .append("lastContractNo", getLastContractNo())
            .append("businessId", getBusinessId())
            .append("deptId", getDeptId())
            .append("deptNo", getDeptNo())
            .append("premiseName", getPremiseName())
            .append("houseId", getHouseId())
            .append("houseName", getHouseName())
            .append("houseType", getHouseType())
            .append("houseZsNo", getHouseZsNo())
            .append("cqAddress", getCqAddress())
            .append("ownerId", getOwnerId())
            .append("ownerName", getOwnerName())
            .append("signWithOwner", getSignWithOwner())
            .append("ownerIdCard", getOwnerIdCard())
            .append("ownerMobile", getOwnerMobile())
            .append("ownerContactAddress", getOwnerContactAddress())
            .append("signUserName", getSignUserName())
            .append("signUserIdCard", getSignUserIdCard())
            .append("signUserMobile", getSignUserMobile())
            .append("signUserEmergencyPhone", getSignUserEmergencyPhone())
            .append("bankCard", getBankCard())
            .append("bankUserName", getBankUserName())
            .append("bankUserIdCard", getBankUserIdCard())
            .append("bankId", getBankId())
            .append("bankName", getBankName())
            .append("bankOpen", getBankOpen())
            .append("leaseStartTime", getLeaseStartTime())
            .append("leaseEndTime", getLeaseEndTime())
            .append("monthRent", getMonthRent())
            .append("depositMoney", getDepositMoney())
            .append("depositType", getDepositType())
            .append("paymentType", getPaymentType())
            .append("conSignTime", getConSignTime())
            .append("conInfoTime", getConInfoTime())
            .append("conAudTime", getConAudTime())
            .append("operId", getOperId())
            .append("sfUserId", getSfUserId())
            .append("sfUserName", getSfUserName())
            .append("status", getStatus())
            .append("xyStatus", getXyStatus())
            .append("sfLoanFlg", getSfLoanFlg())
            .append("freezeStatus", getFreezeStatus())
            .append("accountType", getAccountType())
            .append("bankCardNumber", getBankCardNumber())
            .append("accountName", getAccountName())
            .append("bankBranchCodeLh", getBankBranchCodeLh())
            .append("bankAccountProvince", getBankAccountProvince())
            .append("remark", getRemark())
            .append("reserve1", getReserve1())
            .append("reserve2", getReserve2())
            .append("reserve3", getReserve3())
            .append("reserve4", getReserve4())
            .append("reserve5", getReserve5())
            .append("delFlg", getDelFlg())
            .append("createUserid", getCreateUserid())
            .append("createTime", getCreateTime())
            .append("updateUserid", getUpdateUserid())
            .append("updateTime", getUpdateTime())
            .append("houseLeaseType", getHouseLeaseType())
            .toString();
    }
}
